home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Run Magazine ReRun: Productivity Pak 2
/
rerun-productivity-pak-ii.d64
/
1650 autodial
(
.txt
)
next >
Wrap
Commodore BASIC
|
2022-09-20
|
4KB
|
155 lines
10 rem ********************************
20 rem ******** 1650 autodial *********
30 rem ********************************
40 rem ************* by ***************
50 rem ********************************
60 rem ******** david bradley *********
70 rem ********************************
80 :
90 :
100 rem *********************
110 rem *** variable list ***
120 rem *********************
130 :
140 rem ab = abort check
150 rem ab$ = abort get
160 rem b1 = pulse phone
170 rem b2 = ready modem
180 rem d = length of input
190 rem d$ = number to dial input
200 rem g$ = yes/no
210 rem i = misc counting
220 rem l = sound routine counter
230 rem n = number of pulses
240 rem n$ = used to break up d$
250 rem n1 = count pulses
260 rem na = number of attempts
270 rem s = sid reference value
280 rem sa = delay for carrier detect
290 rem sd = false carrier
300 rem t = time delay/pulse length
310 rem ti = built in clock
320 rem x = counting
330 rem xx = time delay
340 :
350 rem *************
360 rem *** setup ***
370 rem *************
380 :
390 poke53280,0:poke53281,0:print"[147]":printchr$(14):printchr$(8)
400 rem open15,8,15,"s0:1650":save"1650",8:verify"1650",8
410 b1=56577:b2=56579
420 na=1
430 poke b2,32
440 poke b1,0
450 :
460 rem *************
470 rem *** start ***
480 rem *************
490 :
500 print" 1650 [193][213][212][207][196][201][193][204][197][210] [194][217] [196][193][214][201][196] [194][210][193][196][204][197][217]"
510 print" --------------------------------"
520 print"[205]ove [212]-[196] [211]witch [212]o [196]ata"
530 print"([208]ress [210][197][212][213][210][206] [212]o [209]uit)"
540 print"[212]o [193]bort [196]ialing [207]peration [208]ress [193]ny [203]ey"
550 print" [193]nd [215]ait "
560 print"[197]nter [206]umber [212]o [196]ial*[157][157][157]";
570 input d$
580 fori=1tolen(d$)
590 ifmid$(d$,i,1)="-"then640
600 ifmid$(d$,i,1)="*"then640
610 ifasc(mid$(d$,i,1))>57then650
620 ifasc(mid$(d$,i,1))<48then650
630 nexti
640 goto660
650 print"[197]rror [201]n [206]umber [201]nput...[210]e-[197]nter":xx=1000:gosub1540:goto390
660 ifd$="*"thenprint"[209]uit? ([217]/[206]) ":goto680
670 goto720
680 get g$
690 if g$=""then680
700 if g$="y"thenprint"[147]":end:print"[195]ont [206][207][212] [193]llowed":g$="y":goto700
710 goto390
720 iflen(d$)<7then750
730 iflen(d$)>15then810
740 goto850
750 print"";d$;" [201]s [204]ess [212]han 7 [196]igits!":xx=500:gosub1540
760 print"[196]ial [193]nyway?"
770 getg$
780 ifg$=""then770
790 ifg$<>"y"thenprint"[147]":goto390
800 goto850
810 print"";d$;" [201]s [193] [194]it [204]ong ":xx=500:gosub1540
820 print"[196]ial [193]nyway?"
830 getg$:ifg$=""then830
840 ifg$<>"y"thenprint"[147]":goto390
850 poke b1,32
860 t=1000
870 t=t-1:ift<>0 goto870
880 print"[196]ialing ";d$; " [193]ttempt [206]umber";na
890 print" [145][145]"
900 d=len(d$)
910 forx=1tod
920 getab$:ifab$<>""thenab=1
930 n$=mid$(d$,x,1)
940 ifn$="-"thengoto980
950 n=val(n$)
960 ifn=0thenn=10
970 gosub1080
980 nextx
990 print
1000 print "[196]ial [195]omplete! "
1010 ifab=1thenab=0:goto390
1020 xx=5000:gosub1540
1030 ifpeek(b1)<>127thengoto1190
1040 getab$:ifab$<>""thenab=1
1050 ifab=1thenab=0:goto390
1060 t=t+1:ift>1000thent=0:pokeb1,0:xx=1000:gosub1540:na=na+1:goto850
1070 goto1030
1080 forn1=1ton
1090 pokeb1,0
1100 t=6
1110 t=t-1:ift<>0then1110
1120 pokeb1,32
1130 t=4
1140 t=t-1:ift<>0then1140
1150 next n1
1160 t=70
1170 t=t-1:ift<>0then1170
1180 return
1190 sd=0:sa=ti
1200 ifti-sa<60then1220
1210 goto1240
1220 ifpeek(b1)<>127thensd=1
1230 goto1200
1240 ifsd=0thenprint"[194]usy!":pokeb1,0:xx=1000 gosub1540:goto760
1250 gosub 1340
1260 print"[215]e [200]ave [193] [195]onnection!"
1270 print"[204]oading [210][213][206][212][197][210][205] [208][204][213][211]"
1280 load"runterm plus",8
1290 :
1300 rem *****************************
1310 rem *** alarm/bell subroutine ***
1320 rem *****************************
1330 :
1340 s=54272
1350 forl=0to24
1360 pokes+l,0
1370 nextl
1380 poke s+1,100
1390 poke s+5,10
1400 poke s+15,255
1410 poke s+24,15
1420 poke s+4,21
1430 xx=500:gosub1540
1440 pokes+24,0
1450 forl=0to24
1460 pokes+l,0
1470 nextl
1480 return
1490 :
1500 rem *****************************
1510 rem *** time delay subroutine ***
1520 rem *****************************
1530 :
1540 fori=1toxx:nexti:return